package com.enjoyor.soa.traffic.api.service.dubbo.gps;

import java.util.Date;

import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * @author 周宏伟
 * @email zhouhongwei@enjoyor.net
 * @description 警员、警车定位信息服务
 */
public interface DubboTrackInfoService {
	/**
	 * 获取定位信息列表
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo();

	/**
	 * 获取定位信息列表
	 * @param type 类型（0：警员，1：警车）
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo(String type);

	/**
	 * 获取定位信息列表
	 * @param type 类型（0：警员，1：警车）
	 * @param status 状态（0：在线，1：离线）
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo(String type, String status);

	/**
	 * 获取定位信息列表
	 * @param type 类型（0：警员，1：警车）
	 * @param status 状态（0：在线，1：离线）
	 * @param deptId 部门编号
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo(String type, String status, String deptId);

	/**
	 * 获取定位信息列表
	 * @param type 类型（0：警员，1：警车）
	 * @param status 状态（0：在线，1：离线）
	 * @param deptId 部门编号集合
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo(String type, String status, String[] deptId);

	/**
	 * 获取定位信息列表
	 * @param type 类型（0：警员，1：警车）
	 * @param status 状态（0：在线，1：离线）
	 * @param id 标识，警员为警号，警车为车牌号
	 * @param name 名称，警员为姓名，警车为车牌号
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo(String type, String status, String id, String name);
	
	/**
	 * 获取轨迹信息列表
	 * @param type 类型（0：警员，1：警车）
	 * @param key 标识，警员取警号，警车取号牌号码
	 * @param beginDate 开始时间
	 * @param endDate 结束时间
	 * @return TrackInfoDto集合
	 */
	public ResultPojo getTrackInfo(String type, String key, Date beginDate, Date endDate);
}
